The computer industry has created various standards for interconnecting elements of a computer system. One such standard is the peripheral component interconnect (PCI) bus standard. Among other things, the standard for the PCI bus defines the electrical and mechanical specifications for interconnecting elements (e.g., host, slaves, bridges) of a computer system. A limitation of such a standard is its failure to specify a system and method for communicating messages (e.g., information) between elements connected via the PCI bus. For example, transmitting a message from one element to another element.
When security is needed for communication between elements, existing systems which communicate via PCI bus do not restrict element-to-element communication. For example, in existing computer systems, each element may be a host and a slave, although not simultaneously. An element is either a host or a slave based on a request from that element to become a host. Preferably, when no other element is presently requesting to be a host, a request to become a host is granted by the PCI bus. So, the standard for PCI bus allows any element to become a host during element-to-element communication. In typical systems using PCI bus, host-to-slave, slave-to-host, and slave-to-slave communications are allowable. Accordingly, existing systems which adhere to the standard for PCI bus, fail to provide a secure mechanism for controlling communication between elements.
Thus, what is needed are a system and method for communicating messages between elements which are connected via a PCI bus. What is also needed are a system and method which provide security for controlling communication between elements connected by a PCI bus.